home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "pretty.h" /*No:RUN_FEATURE_2.arguments*/ /*No:RUN_FEATURE_2.actuals_clients*/ void r820make(T820* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T368*)((T368*)(r820run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1015; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r820initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } /*No:RUN_FEATURE_2.name*/ int r820arg_count(T820* C){ int R=0; /*IF*/if (((((T820*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T820*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_2.local_vars*/ /*No:RUN_FEATURE_2.base_feature*/ /*No:RUN_FEATURE_2.start_position*/ int r820is_exported_in(T820* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r820clients(C))),a1); return R; } /*No:RUN_FEATURE_2.result_type*/ void r820add_client(T820* C,T0* a1){ int _i=0; /*IF*/if (((((T820*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T820*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r368add_client(((T368*)(r820run_class(C))),a1); } /*No:RUN_FEATURE_2.use_current_state*/ /*No:RUN_FEATURE_2.current_type*/ T0* r820run_class(T820* C){ T0* R=NULL; R=X291run_class((((T820*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_2.ucs_not_computed*/ T0* r820clients(T820* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T820*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T820*)C))->_current_type/*4*/); _bfbc=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_clients/*20*/; } else { R=r605clients_for(((T605*)_bc),(((T820*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T820*)C))->_clients_memory/*8*/; } /*FI*/return R; } /*No:RUN_FEATURE_2.clients_memory*/ void r820initialize(T820* C){ C->_result_type=X291to_runnable((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_result_type/*12*/,(((T820*)C))->_current_type/*4*/); } /*No:CALL_1_C.arguments*/ T0* r492add_comment(T492* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r492to_integer(T492* C){ int R=0; r492error(r492start_position(C),((T0*)ms69_470)); return R; } int r492is_a(T492* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T492*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(r492start_position(C)); r492error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_1_C.is_current*/ void r492make(T492* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } void r492print_as_target(T492* C){ r492pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_1_C.nb_errors*/ /*No:CALL_1_C.feature_name*/ /*No:CALL_1_C.fz_iinaiv*/ /*No:CALL_1_C.dot_precedence*/ /*No:CALL_1_C.run_feature*/ T0* r492start_position(T492* C){ T0* R=NULL; R=X776start_position((((T492*)C))->_feature_name/*12*/); return R; } /*No:CALL_1_C.target*/ /*No:CALL_1_C.precedence*/ T0* r492to_runnable(T492* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T492*)C))->_current_type/*4*/)==((void*)(NULL))) { r492to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T492*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r492error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T492*)C))->_arguments/*24*/)),(((T492*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T492*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r492twin(C); /*[IRF3.3set_current_type*/((((T492*)(((T492*)R))))->_current_type)=(NULL); /*]*/ R=r492to_runnable(((T492*)R),a1); } /*FI*/return R; } void r492bracketed_pretty_print(T492* C){ X662print_as_target((((T492*)C))->_target/*8*/); r238put_string(((T238*)(oBC364fmt)),X776to_string((((T492*)C))->_feature_name/*12*/)); r238put_character(((T238*)(oBC364fmt)),'\50'); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_1_C.result_type*/ T0* r492twin(T492* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T492*)R)=*C; return R; } /*No:CALL_1_C.set_current_type*/ void r492pretty_print(T492* C){ X662print_as_target((((T492*)C))->_target/*8*/); r238put_string(((T238*)(oBC364fmt)),X776to_string((((T492*)C))->_feature_name/*12*/)); r238put_character(((T238*)(oBC364fmt)),'\50'); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_1_C.current_type*/ /*No:CALL_1_C.is_manifest_string*/ /*No:CALL_1_C.is_void*/ void r492to_runnable_0(T492* C,T0* a1){ C->_current_type=a1; r492cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T492*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T492*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T492*)C))->_run_feature/*16*/)); r492error(X776start_position((((T492*)C))->_feature_name/*12*/),((T0*)ms1_295)); } else if (X291is_like_current((((T492*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T492*)C))->_target/*8*/); } /*FI*/} void r492cpc_to_runnable(T492* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T492*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T492*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T492*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T492*)C))->_target/*8*/,(((T492*)C))->_run_feature/*16*/); } void r492error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_1_C.fatal_error*/ /*No:CALL_1_C.fz_bad_argument*/ /*No:CALL_1_C.arg1*/ T0* r126add_comment(T126* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r126make(T126* C,T0* a1,T0* a2){ C->_left_side=a1; C->_right_side=a2; } /*No:REVERSE_ASSIGNMENT.nb_errors*/ T0* r126start_position(T126* C){ T0* R=NULL; R=X662start_position((((T126*)C))->_left_side/*8*/); return R; } T0* r126to_runnable(T126* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T126*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T126*)C))->_left_side/*8*/,r126current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r126error(X662start_position((((T126*)C))->_left_side/*8*/),((T0*)ms62_470)); } else { C->_left_side=_e; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _e=X662to_runnable((((T126*)C))->_right_side/*12*/,r126current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r126error(X662start_position((((T126*)C))->_right_side/*12*/),((T0*)ms63_470)); } else { C->_right_side=_e; } /*FI*/} /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&(X291is_a(X291run_type(r126right_type(C)),X291run_type(r126left_type(C))))) { /*IF*/if ((!(X662is_current((((T126*)C))->_right_side/*12*/)))&&(!(X291is_like_current(r126left_type(C))))) { r683add_type(r126right_type(C),((T0*)ms12_126)); r683add_type(r126left_type(C),((T0*)ms13_126)); r126warning(r126start_position(C),((T0*)ms14_126)); } /*FI*/} /*FI*//*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (!(X291is_reference(X291run_type(r126left_type(C))))) { r683add_type(X291run_type(r126left_type(C)),((T0*)ms15_126)); r126error(r126start_position(C),((T0*)ms16_126)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T126*n=malloc(sizeof(*n)); *n=M126; r126make(n,(((T126*)C))->_left_side/*8*/,(((T126*)C))->_right_side/*12*/); R=(T0*)n; } R=r126to_runnable(((T126*)R),a1); } /*FI*/return R; } void r126pretty_print_assignment(T0* a1,T0* a2,T0* a3){ int _semi_colon_flag=0; X662pretty_print(a1); r238put_character(((T238*)(oBC364fmt)),'\40'); r238put_string(((T238*)(oBC364fmt)),a2); r238put_character(((T238*)(oBC364fmt)),'\40'); _semi_colon_flag=(((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/; r238level_incr(((T238*)(oBC364fmt))); /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0); /*]*/ X662pretty_print(a3); /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(_semi_colon_flag); /*]*/ /*IF*/if (_semi_colon_flag) { r238put_character(((T238*)(oBC364fmt)),'\73'); } /*FI*/r238level_decr(((T238*)(oBC364fmt))); } T0* r126right_type(T126* C){ T0* R=NULL; R=X662result_type((((T126*)C))->_right_side/*12*/); return R; } /*No:REVERSE_ASSIGNMENT.left_side*/ /*No:REVERSE_ASSIGNMENT.pretty_print*/ T0* r126current_type(T126* C){ T0* R=NULL; /*IF*/if (((((T126*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T126*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:REVERSE_ASSIGNMENT.run_compound*/ /*No:REVERSE_ASSIGNMENT.right_side*/ /*No:REVERSE_ASSIGNMENT.fz_blhsoa*/ /*No:REVERSE_ASSIGNMENT.fz_brhsoa*/ void r126error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:REVERSE_ASSIGNMENT.end_mark_comment*/ T0* r126left_type(T126* C){ T0* R=NULL; R=X662result_type((((T126*)C))->_left_side/*8*/); return R; } void r126warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } int r542affect(T542* C,T0* a1){ int R=0; /*IF*/if (/*(IRF4.7for_all*/((((T542*)C))->_list/*4*/)==(NULL)/*)*/) { R=1; } else { R=r953has(((T953*)((((T542*)C))->_list/*4*/)),a1); } /*FI*/return R; } void r542make_all(T542* C,T0* a1){ C->_clients=a1; C->_list=NULL; } void r542make(T542* C,T0* a1,T0* a2){ C->_clients=a1; {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,a2); C->_list=(T0*)n; } } void r542pretty_print(T542* C){ r636pretty_print(((T636*)((((T542*)C))->_clients/*0*/))); /*IF*/if (/*(IRF4.7for_all*/((((T542*)C))->_list/*4*/)==(NULL)/*)*/) { r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_542)); } else { r953pretty_print(((T953*)((((T542*)C))->_list/*4*/))); } /*FI*/} /*No:EXPORT_ITEM.list*/ /*No:EXPORT_ITEM.clients*/ /*No:EXPORT_ITEM.for_all*/ /*No:E_INSPECT.else_position*/ T0* r270add_comment(T270* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:E_INSPECT.when_list*/ /*No:E_INSPECT.fz_else*/ void r270add_when(T270* C,T0* a1){ /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { {T377*n=malloc(sizeof(*n)); *n=M377; /*[IRF3.3make*/((((T377*)(n)))->_list)=(se_ma147(1,a1)); /*]*/ C->_when_list=(T0*)n; } } else { /*[IRF3.5add_last*/r147add_last(((T147*)((((T377*)((T377*)((((T270*)C))->_when_list/*16*/))))->_list/*4*/)),a1); /*]*/ } /*FI*/} void r270make(T270* C,T0* a1,T0* a2){ C->_start_position=a1; C->_expression=a2; } /*No:E_INSPECT.nb_errors*/ /*No:E_INSPECT.expression*/ void r270set_else_compound(T270* C,T0* a1,T0* a2){ C->_else_position=a1; C->_else_compound=a2; } /*No:E_INSPECT.set_run_compound*/ /*No:E_INSPECT.start_position*/ /*No:E_INSPECT.includes*/ T0* r270to_runnable(T270* C,T0* a1){ T0* R=NULL; T0* _wl=NULL; T0* _te=NULL; T0* _e=NULL; /*IF*/if (((((T270*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T270*)C))->_expression/*12*/,r270current_type(C)); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { C->_expression=_e; _te=X291run_type(X662result_type(_e)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (X291is_character(_te)) { /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { C->_when_list=r377to_runnable_character(((T377*)((((T270*)C))->_when_list/*16*/)),(T0*)C); /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { r270error((((T270*)C))->_start_position/*8*/,((T0*)ms5_270)); } /*FI*/} /*FI*/} else if (X291is_integer(_te)) { /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { C->_when_list=r377to_runnable_integer(((T377*)((((T270*)C))->_when_list/*16*/)),(T0*)C); /*IF*/if (((((T270*)C))->_when_list/*16*/)==((void*)(NULL))) { r270error((((T270*)C))->_start_position/*8*/,((T0*)ms5_270)); } /*FI*/} /*FI*/} else { /*[IRF3.6append*/{T0* b1=((T0*)ms2_270); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(_te,((T0*)ms3_270)); r683add_position((((T270*)C))->_start_position/*8*/); r683print_as_error(((T683*)(oBC364eh))); } /*FI*/} /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)!=((void*)(NULL))) { C->_else_compound=r592to_runnable(((T592*)((((T270*)C))->_else_compound/*24*/)),r270current_type(C)); } /*FI*/R=(T0*)C; } else { R=r270twin(C); {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(((T270*)C))->_when_list/*16*/); _wl=(T0*)n; } /*[IRF3.3set_when_list*/((((T270*)(((T270*)R))))->_when_list)=(_wl); /*]*/ /*[IRF3.3set_run_compound*/((((T270*)(((T270*)R))))->_run_compound)=(NULL); /*]*/ R=r270to_runnable(((T270*)R),a1); } /*FI*/return R; } /*No:E_INSPECT.fz_inspect*/ T0* r270twin(T270* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T270*)R)=*C; return R; } /*No:E_INSPECT.em1*/ void r270pretty_print(T270* C){ r238keyword(((T238*)(oBC364fmt)),((T0*)ms25_470)); r238level_incr(((T238*)(oBC364fmt))); /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) { r238indent(((T238*)(oBC364fmt))); } /*FI*//*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0); /*]*/ X662pretty_print((((T270*)C))->_expression/*12*/); r238level_decr(((T238*)(oBC364fmt))); r238indent(((T238*)(oBC364fmt))); /*IF*/if (((((T270*)C))->_when_list/*16*/)!=((void*)(NULL))) { r377pretty_print(((T377*)((((T270*)C))->_when_list/*16*/))); } /*FI*//*IF*/if (((((T270*)C))->_else_compound/*24*/)==((void*)(NULL))) { /*IF*/if (((((T270*)C))->_else_position/*20*/)!=((void*)(NULL))) { r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_470)); } /*FI*/} else { r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_470)); r238level_incr(((T238*)(oBC364fmt))); r592pretty_print(((T592*)((((T270*)C))->_else_compound/*24*/))); r238level_decr(((T238*)(oBC364fmt))); } /*FI*/r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_270)); /*IF*/if (r238print_end_inspect(((T238*)(oBC364fmt)))) { r238put_end(((T238*)(oBC364fmt)),((T0*)ms25_470)); } /*FI*/} /*No:E_INSPECT.else_compound*/ /*No:E_INSPECT.set_when_list*/ T0* r270current_type(T270* C){ T0* R=NULL; /*IF*/if (((((T270*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T270*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:E_INSPECT.run_compound*/ void r270error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_INSPECT.end_mark_comment*/ /*No:ONCE_FUNCTION.arguments*/ T0* r844try_to_undefine(T844* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r844try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T844*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:ONCE_FUNCTION.is_deferred*/ /*No:ONCE_FUNCTION.fz_bad_assertion*/ T0* r844runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r844error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:ONCE_FUNCTION.rescue_compound*/ void r844add_into(T844* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:ONCE_FUNCTION.end_comment*/ T0* r844try_to_undefine_aux(T844* C,T0* a1,T0* a2){ T0* R=NULL; {T649*n=malloc(sizeof(*n)); *n=M649; r649from_effective(n,a1,(((T844*)C))->_arguments/*28*/,(((T844*)C))->_result_type/*12*/,(((T844*)C))->_require_assertion/*36*/,(((T844*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } void r844make(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ r844make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8); C->_result_type=a3; } /*No:ONCE_FUNCTION.not_computed*/ /*No:ONCE_FUNCTION.nb_errors*/ void r844pretty_print_one_name(T0* a1){ /*IF*/if (X776is_frozen(a1)) { r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359)); } /*FI*/X776definition_pretty_print(a1); } void r844make_routine(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r844make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } /*No:ONCE_FUNCTION.local_vars*/ void r844set_header_comment(T844* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r844start_position(T844* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r844to_run_feature(T844* C,T0* a1,T0* a2){ T0* R=NULL; r844check_obsolete(C); {T868*n=malloc(sizeof(*n)); *n=M868; r868make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:ONCE_FUNCTION.ensure_assertion*/ /*No:ONCE_FUNCTION.code_require*/ T0* r844run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); _r=r844runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r844run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r844runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T541*n=malloc(sizeof(*n)); *n=M541; /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:ONCE_FUNCTION.result_type*/ /*No:ONCE_FUNCTION.fz_03*/ /*No:ONCE_FUNCTION.fz_once*/ /*No:ONCE_FUNCTION.em1*/ void r844pretty_print(T844* C){ T0* _fn=NULL; /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1); /*]*/ r238indent(((T238*)(oBC364fmt))); r844pretty_print_profile(C); r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355)); /*IF*/if (((((T844*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355)); r805pretty_print(((T805*)((((T844*)C))->_obsolete_mark/*32*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); /*IF*/if (((((T844*)C))->_header_comment/*16*/)!=((void*)(NULL))) { r393pretty_print(((T393*)((((T844*)C))->_header_comment/*16*/))); } /*FI*//*IF*/if (((((T844*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r343pretty_print(((T343*)((((T844*)C))->_require_assertion/*36*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r844pretty_print_routine_body(C); /*IF*/if (((((T844*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r633pretty_print(((T633*)((((T844*)C))->_ensure_assertion/*40*/))); } /*FI*//*IF*/if (((((T844*)C))->_rescue_compound/*44*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355)); r592pretty_print(((T592*)((((T844*)C))->_rescue_compound/*44*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355)); /*IF*/if ((((((T844*)C))->_end_comment/*48*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T844*)C))->_end_comment/*48*/)))))) { r393pretty_print(((T393*)((((T844*)C))->_end_comment/*48*/))); } else if (r238print_end_routine(((T238*)(oBC364fmt)))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355)); _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776definition_pretty_print(_fn); } /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n'); } /*No:ONCE_FUNCTION.obsolete_mark*/ /*No:ONCE_FUNCTION.set_clients*/ /*No:ONCE_FUNCTION.em2*/ /*No:ONCE_FUNCTION.names*/ /*No:ONCE_FUNCTION.require_assertion*/ /*No:ONCE_FUNCTION.use_current_state*/ /*No:ONCE_FUNCTION.code_ensure*/ void r844set_rescue_compound(T844* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r844error(r844start_position(C),((T0*)ms6_355)); } /*FI*/C->_rescue_compound=a1; } void r844pretty_print_profile(T844* C){ r844pretty_print_names(C); /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r844pretty_print_arguments(C); /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3); /*]*/ /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(NULL))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359)); X291pretty_print((((T844*)C))->_result_type/*12*/); } /*FI*/} void r844pretty_print_names(T844* C){ int _i=0; _i=1; r844pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/); _i=(_i)+(1); while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359)); r844pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/); _i=(_i)+(1); } } int r844can_hide(T844* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T844*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T844*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T844*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T844*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T844*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r844start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_FUNCTION.header_comment*/ /*No:ONCE_FUNCTION.routine_body*/ int r844is_merge_with(T844* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T844*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T844*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T844*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T844*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T844*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r844error(r844start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_FUNCTION.fz_dot*/ /*No:ONCE_FUNCTION.set_ensure_assertion*/ /*No:ONCE_FUNCTION.first_name*/ /*No:ONCE_FUNCTION.pretty_print_once_or_do*/ /*No:ONCE_FUNCTION.clients*/ void r844collect_for(T844* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T844*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T844*)C))->_require_assertion/*36*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T844*)C))->_require_assertion/*36*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T844*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T844*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T844*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r844make_effective_routine(T844* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r844make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1011; } void r844error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ONCE_FUNCTION.base_class*/ void r844pretty_print_arguments(T844* C){ /*IF*/if (((((T844*)C))->_arguments/*28*/)!=((void*)(NULL))) { r31pretty_print(((T31*)((((T844*)C))->_arguments/*28*/))); } /*FI*/} void r844pretty_print_routine_body(T844* C){ /*IF*/if (((((T844*)C))->_local_vars/*20*/)!=((void*)(NULL))) { r620pretty_print(((T620*)((((T844*)C))->_local_vars/*20*/))); } /*FI*/r238indent(((T238*)(oBC364fmt))); /*[IRF3.2pretty_print_once_or_do*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms35_470)); /*]*/ r238put_character(((T238*)(oBC364fmt)),'\40'); /*IF*/if (((((T844*)C))->_routine_body/*52*/)!=((void*)(NULL))) { r592pretty_print(((T592*)((((T844*)C))->_routine_body/*52*/))); } /*FI*/} void r844make_e_feature(T844* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r844check_obsolete(T844* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T844*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_355); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T844*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r844warning(r844start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r844warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:RUN_FEATURE_3.arguments*/ /*No:RUN_FEATURE_3.actuals_clients*/ void r845make(T845* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T368*)((T368*)(r845run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1015; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r845initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } /*No:RUN_FEATURE_3.name*/ int r845arg_count(T845* C){ int R=0; /*IF*/if (((((T845*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T845*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_3.local_vars*/ /*No:RUN_FEATURE_3.base_feature*/ /*No:RUN_FEATURE_3.start_position*/ /*No:RUN_FEATURE_3.ensure_assertion*/ int r845is_exported_in(T845* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r845clients(C))),a1); return R; } /*No:RUN_FEATURE_3.result_type*/ void r845add_client(T845* C,T0* a1){ int _i=0; /*IF*/if (((((T845*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T845*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T845*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T845*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T845*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r368add_client(((T368*)(r845run_class(C))),a1); } /*No:RUN_FEATURE_3.require_assertion*/ /*No:RUN_FEATURE_3.use_current_state*/ /*No:RUN_FEATURE_3.current_type*/ T0* r845run_class(T845* C){ T0* R=NULL; R=X291run_class((((T845*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_3.ucs_not_computed*/ /*No:RUN_FEATURE_3.routine_body*/ T0* r845clients(T845* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T845*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T845*)C))->_current_type/*4*/); _bfbc=(((T297*)((T297*)((((T845*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T297*)((T297*)((((T845*)C))->_base_feature/*44*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T845*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T845*)C))->_clients_memory/*8*/; } /*FI*/return R; } /*No:RUN_FEATURE_3.clients_memory*/ void r845initialize(T845* C){ C->_arguments=(((T297*)((T297*)((((T845*)C))->_base_feature/*44*/))))->_arguments/*28*/; /*IF*/if (((((T845*)C))->_arguments/*20*/)!=((void*)(NULL))) { C->_arguments=r31to_runnable(((T31*)((((T845*)C))->_arguments/*20*/)),(((T845*)C))->_current_type/*4*/); } /*FI*/C->_local_vars=(((T297*)((T297*)((((T845*)C))->_base_feature/*44*/))))->_local_vars/*20*/; /*IF*/if (((((T845*)C))->_local_vars/*48*/)!=((void*)(NULL))) { C->_local_vars=r620to_runnable(((T620*)((((T845*)C))->_local_vars/*48*/)),(((T845*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T297*)((T297*)((((T845*)C))->_base_feature/*44*/))))->_routine_body/*52*/; /*IF*/if (((((T845*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T845*)C))->_routine_body/*32*/)),(((T845*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r297run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r297run_ensure((T0*)C); } /*FI*/} T0* r530add_comment(T530* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:IFTHENELSE.make*/ /*No:IFTHENELSE.nb_errors*/ /*No:IFTHENELSE.set_else_compound*/ /*No:IFTHENELSE.start_position*/ T0* r530to_runnable(T530* C,T0* a1){ T0* R=NULL; T0* _ec=NULL; T0* _itl=NULL; int _ne=0; _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; /*IF*/if (((((T530*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _itl=r712to_runnable(((T712*)((((T530*)C))->_ifthenlist/*12*/)),a1); /*IF*/if ((_itl)==((void*)(NULL))) { } else { C->_ifthenlist=_itl; } /*FI*//*IF*/if ((((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))==(0))&&(((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL)))) { _ec=r592to_runnable(((T592*)((((T530*)C))->_else_compound/*16*/)),r530current_type(C)); /*IF*/if ((_ec)==((void*)(NULL))) { } else { C->_else_compound=_ec; } /*FI*/} /*FI*//*IF*/if ((_itl)!=((void*)(NULL))) { R=(T0*)C; } /*FI*/} else { R=r530to_runnable(((T530*)(r530twin(C))),a1); } /*FI*/return R; } T0* r530twin(T530* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T530*)R)=M530; r530copy(((T530*)R),((T0*)C)); return R; } /*No:IFTHENELSE.ifthenlist*/ void r530pretty_print(T530* C){ r238keyword(((T238*)(oBC364fmt)),((T0*)ms6_530)); r712pretty_print(((T712*)((((T530*)C))->_ifthenlist/*12*/))); /*IF*/if (((((T530*)C))->_else_compound/*16*/)!=((void*)(NULL))) { r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms7_530)); r592pretty_print(((T592*)((((T530*)C))->_else_compound/*16*/))); } /*FI*/r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms8_530)); /*IF*/if (r238print_end_if(((T238*)(oBC364fmt)))) { r238put_end(((T238*)(oBC364fmt)),((T0*)ms9_530)); } /*FI*/} /*No:IFTHENELSE.else_compound*/ void r530copy(T530* C,T0* a1){ C->_start_position=(((T530*)((T530*)a1)))->_start_position/*8*/; C->_ifthenlist=(((T530*)((T530*)a1)))->_ifthenlist/*12*/; C->_else_compound=(((T530*)((T530*)a1)))->_else_compound/*16*/; } T0* r530current_type(T530* C){ T0* R=NULL; /*IF*/if (((((T530*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T530*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:IFTHENELSE.run_compound*/ void r530add_if_then(T530* C,T0* a1,T0* a2){ T0* _ifthen=NULL; {T809*n=malloc(sizeof(*n)); *n=M809; r809make(n,a1,a2); _ifthen=(T0*)n; } /*IF*/if (((((T530*)C))->_ifthenlist/*12*/)==((void*)(NULL))) { {T712*n=malloc(sizeof(*n)); *n=M712; /*[IRF3.3make*/((((T712*)(n)))->_list)=(se_ma948(1,_ifthen)); /*]*/ C->_ifthenlist=(T0*)n; } } else { /*[IRF3.5add_last*/r948add_last(((T948*)((((T712*)((T712*)((((T530*)C))->_ifthenlist/*12*/))))->_list/*0*/)),_ifthen); /*]*/ } /*FI*/} /*No:IFTHENELSE.end_mark_comment*/ /*No:EXTERNAL_PROCEDURE.arguments*/ T0* r883try_to_undefine(T883* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r883try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T883*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.is_deferred*/ /*No:EXTERNAL_PROCEDURE.fz_bad_assertion*/ T0* r883runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r883error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.rescue_compound*/ void r883add_into(T883* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:EXTERNAL_PROCEDURE.end_comment*/ T0* r883try_to_undefine_aux(T883* C,T0* a1,T0* a2){ T0* R=NULL; {T853*n=malloc(sizeof(*n)); *n=M853; r853from_effective(n,a1,(((T883*)C))->_arguments/*24*/,(((T883*)C))->_require_assertion/*32*/,(((T883*)C))->_ensure_assertion/*36*/,a2); R=(T0*)n; } return R; } T0* r883external_c_name(T883* C){ T0* R=NULL; /*IF*/if (((((T883*)C))->_alias_string/*52*/)==((void*)(NULL))) { R=X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); } else { R=(((T883*)C))->_alias_string/*52*/; } /*FI*/return R; } void r883make(T883* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r883make_routine(C,a1,a2,a3,a4,a5); r883make_external_routine(C,a6,a7); } /*No:EXTERNAL_PROCEDURE.nb_errors*/ void r883pretty_print_one_name(T0* a1){ /*IF*/if (X776is_frozen(a1)) { r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359)); } /*FI*/X776definition_pretty_print(a1); } /*No:EXTERNAL_PROCEDURE.native*/ void r883make_routine(T883* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r883make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r883set_header_comment(T883* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r883start_position(T883* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r883to_run_feature(T883* C,T0* a1,T0* a2){ T0* R=NULL; r883check_obsolete(C); {T906*n=malloc(sizeof(*n)); *n=M906; r906make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:EXTERNAL_PROCEDURE.alias_string*/ /*No:EXTERNAL_PROCEDURE.ensure_assertion*/ /*No:EXTERNAL_PROCEDURE.code_require*/ T0* r883run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); _r=r883runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r883run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r883runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T541*n=malloc(sizeof(*n)); *n=M541; /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:EXTERNAL_PROCEDURE.result_type*/ /*No:EXTERNAL_PROCEDURE.fz_03*/ /*No:EXTERNAL_PROCEDURE.em1*/ void r883pretty_print(T883* C){ T0* _fn=NULL; /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1); /*]*/ r238indent(((T238*)(oBC364fmt))); r883pretty_print_profile(C); r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355)); /*IF*/if (((((T883*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355)); r805pretty_print(((T805*)((((T883*)C))->_obsolete_mark/*28*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); /*IF*/if (((((T883*)C))->_header_comment/*16*/)!=((void*)(NULL))) { r393pretty_print(((T393*)((((T883*)C))->_header_comment/*16*/))); } /*FI*//*IF*/if (((((T883*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r343pretty_print(((T343*)((((T883*)C))->_require_assertion/*32*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r883pretty_print_routine_body(C); /*IF*/if (((((T883*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r633pretty_print(((T633*)((((T883*)C))->_ensure_assertion/*36*/))); } /*FI*//*IF*/if (((((T883*)C))->_rescue_compound/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355)); r592pretty_print(((T592*)((((T883*)C))->_rescue_compound/*40*/))); } /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355)); /*IF*/if ((((((T883*)C))->_end_comment/*44*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T883*)C))->_end_comment/*44*/)))))) { r393pretty_print(((T393*)((((T883*)C))->_end_comment/*44*/))); } else if (r238print_end_routine(((T238*)(oBC364fmt)))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355)); _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776definition_pretty_print(_fn); } /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n'); } /*No:EXTERNAL_PROCEDURE.obsolete_mark*/ /*No:EXTERNAL_PROCEDURE.set_clients*/ /*No:EXTERNAL_PROCEDURE.em2*/ /*No:EXTERNAL_PROCEDURE.names*/ /*No:EXTERNAL_PROCEDURE.require_assertion*/ /*No:EXTERNAL_PROCEDURE.code_ensure*/ void r883set_rescue_compound(T883* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r883error(r883start_position(C),((T0*)ms6_355)); } /*FI*/C->_rescue_compound=a1; } void r883pretty_print_profile(T883* C){ r883pretty_print_names(C); /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2); /*]*/ r883pretty_print_arguments(C); /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3); /*]*/ /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(NULL))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359)); X291pretty_print((((T883*)C))->_result_type/*12*/); } /*FI*/} void r883pretty_print_names(T883* C){ int _i=0; _i=1; r883pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/); _i=(_i)+(1); while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359)); r883pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/); _i=(_i)+(1); } } void r883make_external_routine(T883* C,T0* a1,T0* a2){ C->_native=a1; C->_alias_string=a2; } int r883can_hide(T883* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T883*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T883*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T883*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T883*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T883*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r883start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:EXTERNAL_PROCEDURE.header_comment*/ int r883is_merge_with(T883* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T883*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T883*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T883*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T883*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T883*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r883error(r883start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:EXTERNAL_PROCEDURE.fz_dot*/ /*No:EXTERNAL_PROCEDURE.set_ensure_assertion*/ /*No:EXTERNAL_PROCEDURE.first_name*/ /*No:EXTERNAL_PROCEDURE.clients*/ void r883collect_for(T883* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T883*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T883*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T883*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T883*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T883*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T883*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r883error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EXTERNAL_PROCEDURE.base_class*/ void r883pretty_print_arguments(T883* C){ /*IF*/if (((((T883*)C))->_arguments/*24*/)!=((void*)(NULL))) { r31pretty_print(((T31*)((((T883*)C))->_arguments/*24*/))); } /*FI*/} void r883pretty_print_routine_body(T883* C){ r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_279)); X832pretty_print((((T883*)C))->_native/*48*/); /*IF*/if ((!(r7is_equal(((T7*)(r883external_c_name(C))),X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/))))||((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T883*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1))) { r238indent(((T238*)(oBC364fmt))); r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_279)); r238put_character(((T238*)(oBC364fmt)),'\42'); r238put_string(((T238*)(oBC364fmt)),r883external_c_name(C)); r238put_character(((T238*)(oBC364fmt)),'\42'); } /*FI*/} void r883make_e_feature(T883* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r883check_obsolete(T883* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T883*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_355); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T883*)C))->_obsolete_mark/*28*/))))->_to_string/*12*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r883warning(r883start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r883warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_AND_THEN.arguments*/ T0* r655add_comment(T655* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r655to_integer(T655* C){ int R=0; r655error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r655is_a(T655* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T655*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r655error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_AND_THEN.is_current*/ /*No:CALL_INFIX_AND_THEN.us_and_then*/ void r655make(T655* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r655operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r655make_call_1(C,a1,(((T655*)C))->_feature_name/*24*/,_eal); } void r655print_as_target(T655* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r655pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_INFIX_AND_THEN.nb_errors*/ /*No:CALL_INFIX_AND_THEN.feature_name*/ /*No:CALL_INFIX_AND_THEN.fz_iinaiv*/ /*No:CALL_INFIX_AND_THEN.run_feature*/ /*No:CALL_INFIX_AND_THEN.start_position*/ /*No:CALL_INFIX_AND_THEN.target*/ /*No:CALL_INFIX_AND_THEN.precedence*/ T0* r655to_runnable(T655* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T655*)C))->_current_type/*4*/)==((void*)(NULL))) { r655to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T655*)C))->_arguments/*20*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r655error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T655*)C))->_arguments/*20*/)),(((T655*)C))->_run_feature/*12*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T655*)C))->_result_type/*16*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r655twin(C); /*[IRF3.3set_current_type*/((((T655*)(((T655*)R))))->_current_type)=(NULL); /*]*/ R=r655to_runnable(((T655*)R),a1); } /*FI*/return R; } void r655bracketed_pretty_print(T655* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r655pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_INFIX_AND_THEN.result_type*/ T0* r655twin(T655* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T655*)R)=*C; return R; } /*No:CALL_INFIX_AND_THEN.set_current_type*/ T0* r655operator(void){ T0* R=NULL; R=((T0*)ms28_473); return R; } /*No:CALL_INFIX_AND_THEN.atomic_precedence*/ void r655pretty_print(T655* C){ /*IF*/if ((X662precedence((((T655*)C))->_target/*8*/))==(13)) { X662pretty_print((((T655*)C))->_target/*8*/); r655print_op(C); /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/))==(13)) { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } else if ((5)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/))==(13)) { /*IF*/if ((X662precedence((((T655*)C))->_target/*8*/))>=(5)) { X662bracketed_pretty_print((((T655*)C))->_target/*8*/); } else { X662pretty_print((((T655*)C))->_target/*8*/); } /*FI*/r655print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } else if ((5)<=(X662precedence((((T655*)C))->_target/*8*/))) { X662bracketed_pretty_print((((T655*)C))->_target/*8*/); r655print_op(C); /*IF*/if ((5)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else { X662pretty_print((((T655*)C))->_target/*8*/); r655print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T655*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} void r655print_op(T655* C){ r238put_character(((T238*)(oBC364fmt)),'\40'); /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T655*)C))->_feature_name/*24*/)); r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/); }/*]*/ r238put_character(((T238*)(oBC364fmt)),'\40'); } /*No:CALL_INFIX_AND_THEN.current_type*/ void r655make_call_1(T655* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_AND_THEN.is_manifest_string*/ /*No:CALL_INFIX_AND_THEN.is_void*/ void r655to_runnable_0(T655* C,T0* a1){ C->_current_type=a1; r655cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T655*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T655*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T655*)C))->_run_feature/*12*/)); r655error((((T454*)((T454*)((((T655*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T655*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T655*)C))->_target/*8*/); } /*FI*/} void r655cpc_to_runnable(T655* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T655*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T655*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T655*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T655*)C))->_target/*8*/,(((T655*)C))->_run_feature/*12*/); } void r655error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_AND_THEN.fatal_error*/ /*No:CALL_INFIX_AND_THEN.fz_bad_argument*/ /*No:CALL_INFIX_AND_THEN.arg1*/